#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void display(char (*str)[20]);
int main()
{
    char str[3][20];
    int i;
    for (i = 0; i < 3; i++)
    {
        printf("输入字符串%d:", i + 1);
        gets(str[i]);
    }
    display(str); // 等效语句display(&str[0])
    system("pause");
    return 0;
}
void display(char (*str)[20])
{
    int i;
    for (i = 0; i < 3; i++)
        printf("字符串%d:%s\n", i + 1, str[i]);
}

/*
二维字符串数组中的每一个元素都是一个字符串。
char 数组名 ［ 字符串数量 ］ ［字符串最大长度 ］;

传输二维字符串数组str时，使用
    char (*str)[20]; // 行的维数则不必指定, 每个字符串的最大长度是20个字符
作为参数声明，

对于使用它的函数display，原型声明如下：
    void display(char (*str)[20]); // 参数声明可以简化为
    char(*)[20]

调用时，只能使用二维字符串数组str的首地址
    str或者&str[0]，
    不能使用&str[0][0]。
*/